<?php
include_once('include/Config.php');
include_once('entities/EmpresaLocalidad.php');

Class EmpresaLocalidadDAL {

    private $link;

    public function __construct() {
        $this->conectar();
    }

    private function conectar() {
        
        //Tomado del config.php 
        $this->link = $GLOBALS["DBConnPDO"];
        
    }

    public function obtenerEmpresaLocalidad($_idEmpresa, $_idProvincia = 0) {
        $sql = "select * from empresalocalidad";
        $sql .=" WHERE idEmpresa = :idempresa ";
        
        
        if($_idProvincia != 0){
            $sql .= " AND idProvincia = :idprovincia ";
        }
        
        $stmt = $this->link->prepare($sql);
        $stmt->bindParam(':idempresa', $_idEmpresa, PDO::PARAM_INT);
        
        if($_idProvincia != 0){
        	$stmt->bindParam(':idprovincia', $_idProvincia, PDO::PARAM_INT);
        }
        
        $stmt->execute();
        $result = $stmt->fetchAll();

        $listaEmpresaLocalidad = array();

        foreach ($result as $row) {
        
            $empresalocalidad = new EmpresaLocalidad(); 
            
            $empresalocalidad->setIdEmpresa($row['idEmpresa']);
            $empresalocalidad->setIdProvincia($row['idProvincia']);
            $empresalocalidad->setIdLocalidad($row['idLocalidad']);
            $empresalocalidad->setDescripcion($row['Descripcion']);
            $empresalocalidad->setDescBreve($row['DescBreve']);
            $empresalocalidad->setCodigoPostal($row['CodigoPostal']);
            
            $listaEmpresaLocalidad [] = $empresalocalidad;
            
        }
        return $listaEmpresaLocalidad;
    }
    
    public function obtenerEmpresaLocalidadxId($_idEmpresa, $_idProvincia, $_idLocalidad) {
        $sql = " SELECT * FROM empresalocalidad ";
        $sql .=" WHERE idEmpresa = :idempresa";
        $sql .=" AND idProvincia = :idprovincia;";
        $sql .=" AND idLocalidad = :idlocalidad;";
        
        $stmt = $this->link->prepare($sql);
        $stmt->bindParam(':idempresa', $_idEmpresa, PDO::PARAM_INT);
        $stmt->bindParam(':idprovincia', $_idProvincia, PDO::PARAM_INT);
        $stmt->bindParam(':idlocalidad', $_idLocalidad, PDO::PARAM_INT);
        
        $stmt->execute();
        $result = $stmt->fetchAll();

        $empresalocalidad = new EmpresaLocalidad();

        foreach ($result as $row) {

            $empresalocalidad->setIdEmpresa($row['IdEmpresa']);
            $empresalocalidad->setIdProvincia($row['IdProvincia']);
            $empresalocalidad->setIdLocalidad($row['IdLocalidad']);
            $empresalocalidad->setDescripcion($row['Descripcion']);
            $empresalocalidad->setDescBreve($row['DescBreve']);
            $empresalocalidad->setCodigoPostal($row['CodigoPostal']);
            
        }
        
        return $empresalocalidad;
    }
    
    /*
    function datosEmpresaLocalidad($_idEmpresa = 0, $_idProvincia = 0, $_idLocalidad = 0){
        $query = "SELECT PRO.idEmpresa, PRO.idProvincia, LOC.idLocalidad, PRO.Descripcion as Provincia, PRO.DescBreve as ProvBreve, " .
        	"	 LOC.Descripcion as Localidad, LOC.DescBreve as LocBreve, LOC.CodigoPostal  " . 
        	" FROM empresalocalidad AS LOC " .
        	"		ON(PRO.idEmpresa = LOC.idEmpresa AND PRO.idProvincia = LOC.idProvincia) " .
        	" WHERE 1=1 ";
        
        if($_idEmpresa != 0){
            $query .= " AND PRO.idEmpresa = $_idEmpresa";
        }

        if($_idProvincia != 0){
            $query .= " AND PRO.idProvincia = $_idProvincia";
        }
	
        if($_idLocalidad != 0){
            $query .= " AND PRO.idProvincia = $_idLocalidad";
        }
	
	$query .= " ORDER BY PRO.idEmpresa, PRO.Descripcion, LOC.Descripcion ";

        $result = '';
        
        foreach ($this->link->query($query) as $row) {
            $result .= $row['idEmpresa'].'-'.$row['idProvincia'].'-'.$row['idLocalidad'].':'.$row['Provincia'].':'.$row['ProvBreve'].':'.$row['Localidad'].':'.$row['LocBreve'].':'.$row['CodigoPostal'].';';
        }
        
        if($result != null || $result != ''){
            $result = trim($result, ';');
        }
        
        return $result;
    }
    */
    
    function comboEmpresaLocalidad($_idEmpresa = 0, $_idProvincia = 0, $_idLocalidad = 0){
        $query = "SELECT idEmpresa, idProvincia, idLocalidad, Descripcion, DescBreve, CodigoPostal from empresalocalidad where 1=1 ";
        
        if($_idEmpresa != 0){
            $query .= " AND idEmpresa = $_idEmpresa";
        }

        if($_idProvincia != 0){
            $query .= " AND idProvincia = $_idProvincia";
        }

        if($_idLocalidad != 0){
            $query .= " AND idLocalidad = $_idLocalidad";
        }
        
        //$query .= " ORDER BY  idEmpresa, idProvincia, Descripcion ";

        $result = '';
        
        foreach ($this->link->query($query) as $row) {
            $result .= $row['idEmpresa'].'-'.$row['idProvincia'].'-'.$row['idLocalidad'].':'.$row['Descripcion'].':'.$row['DescBreve'].':'.$row['CodigoPostal'].';';
        }
        
        if($result != null || $result != ''){
            $result = trim($result, ';');
        }
        
        return $result;
    }
  
    function comboEmpresaLocalidadHTML($_idEmpresaSelected = 0, $_idProvinciaSelected = 0, $_idLocalidadSelected = 0, $_filtro = "", &$_sql = "") {
        $query = "SELECT idEmpresa, idProvincia, idLocalidad, Descripcion FROM empresalocalidad";
        
        if($_filtro != "")
        {
        	$query .= " WHERE 1=1 " . $_filtro;
        }
        
        $result = '';
        
        $query .= " ORDER BY  idEmpresa, idProvincia, Descripcion ";
				
        //echo $query;
        $_sql = $query;

        foreach ($this->link->query($query) as $row) {
            $result .= '<OPTION VALUE="' . $row['idEmpresa'].'-'.$row['idProvincia'].'-'.$row['idLocalidad'] . '"';
            
            if(($_idEmpresaSelected == 0)&&($_idProvinciaSelected == 0)&&($_idLocalidadSelected == 0)){
            	$_idEmpresaSelected = $row['idEmpresa'];
            	$_idProvinciaSelected = $row['idProvincia'];
            	$_idLocalidadSelected = $row['idLocalidad'];
            }
            
            if(($_idEmpresaSelected == $row['idEmpresa'])&&($_idProvinciaSelected == $row['idProvincia'])&&($_idLocalidadSelected == $row['idLocalidad'])){
            	$result .= ' selected';
            }
            
            $result .= '>' . substr($row['Descripcion'],0,30) . '</OPTION>';
        }
        
        return $result;
    }  
}

?>